@echo off
chcp 65001 >nul 2>&1
setlocal enabledelayedexpansion

set "SERVICE_NAME=FileMonitorService"
set "SERVICE_DISPLAY_NAME=文件监控服务"
set "SERVICE_DESCRIPTION=定期检查C:\ProgramData\coconet\snapshot.jpg，存在则生成cv.txt"

if not exist "%EXE_PATH%" (
    echo 错误：EXE文件不存在！路径：%EXE_PATH%
    pause
    exit /b 1
)

echo 正在注册服务：%SERVICE_NAME%（显示名称：%SERVICE_DISPLAY_NAME%）...
sc create FileMonitorService binpath= "D:\code\filemon\file_monitor.exe" start= auto displayname= "文件监控服务"
if %errorlevel% equ 0 (
    echo 服务注册成功！
    echo 正在启动服务...
    sc start "%SERVICE_NAME%"
    if %errorlevel% equ 0 (
        echo 服务启动成功！
        echo 可在「服务」面板（services.msc）中管理此服务。
    ) else (
        echo 服务启动失败！当前EXE为普通控制台程序，需改造为标准Windows服务。
    )
) else (
    echo 服务注册失败！可能原因：
    echo 1. 未以管理员身份运行BAT
    echo 2. 服务名称已存在（可先执行"sc delete %SERVICE_NAME%"删除）
    echo 3. EXE路径错误或无权限访问
)

pause
endlocal